Sentaurus Structure Editor
7. Process Emulation Mode

7.1 Overview
7.2 Defining the Emulation Domain
7.3 Defining the Doped Substrate
7.4 Mask Generation
7.5 Patterning
7.6 Defining an Implantation Profile
7.7 Implantation
7.8 Stripping Layers
7.9 Depositing a Doped Layer
7.10 Etching
7.11 Fill
7.12 Polish
7.13 Finishing the BJT
7.14 Assignment

Objectives

7.1 Overview

The capabililties of the process emulation mode of Sentaurus Structure Editor have been superseded by the 3D process simulation capabilities of Sentaurus Process. The use of the process emulation mode of Sentaurus Structure Editor is discouraged.
See Section 10. Special Focus: Three-dimensional Examples.

In process emulation mode (Procem), Sentaurus Structure Editor translates processing steps, ranging from material deposition, patterning, and etching to trench fill and surface polish, into geometric operations.

Procem supports various advanced options, such as isotropic or anisotropic etching and deposition, and rounding and blending, to account for specific processing effects. Nongeometric operations, however, are performed only at a simplified level. For implantation, only analytic implants are supported. Diffusion is not supported.

This section introduces the concept of process emulation and some basic emulation operations available in Sentaurus Structure Editor. The example is to build a 3D BJT device structure as shown in Figure 1.

3D BJT

Figure 1. Three-dimensional BJT.

Sentaurus Structure Editor does not support Procem commands from the GUI. Therefore, Procem operations can only be performed using Scheme extension commands in the command-line window.

7.2 Defining the Emulation Domain

The Scheme command to define the emulation domain is:

(sdepe:define-pe-domain (list X1 Y1 X2 Y2))

where X1 Y1 and X2 Y2 are the coordinates of two opposite corners of the rectangular emulation domain.

7.2.1 Example

The emulation domain for the BJT is defined with:

(define Xmax 2.2) ; Width
(define Ymax 1.2) ; Depth
(sdepe:define-pe-domain (list 0.0 0.0 Xmax Ymax))

Procem also supports polygonal emulation domains. In this case, a list of all corner coordinates of the polygon must be given.

7.3 Defining the Doped Substrate

The Scheme command to define the substrate is:

(sdepe:add-substrate "material" "material" "thickness" height)

7.3.1 Example

(define Nasub 1e16)  ; Boron concentration
(define Zsub 2.0)    ; Initial Substrate Height
(define SUB (sdepe:add-substrate "material" "Silicon" "thickness" Zsub ))
(sde:add-material SUB "Silicon" "Substrate")
(sdepe:doping-constant-placement "DopSub" 
 "BoronActiveConcentration" Nasub "Substrate")

In this example, a constant boron concentration is defined in the substrate using the following steps:

7.4 Mask Generation

The Scheme command to define a mask is:

(sdepe:generate-mask "mask_name"
  (list (list X1_1 Y1_1 X1_2 Y1_2 ...)
        (list X2_1 Y2_1 X2_2 Y2_2 ...)
        ...)
)

The mask is defined as a list of polygons, where each polygon is defined as a list of coordinates. If the polygon is a simple, axis-aligned rectangle, it is sufficient to give the coordinates of two opposite corners.

7.4.1 Example

The mask for the subcollector implantation is defined with:

(define Xb1 0.2)  ; Beginning of base window
(define Xb2 1.2)  ; End of base window
(define Xc1 1.5)  ; Beginning of collector contact window
(define Xc2 2.0)  ; End of collector contact window
(define Yc  0.8)  ; Depth of contact

(sdepe:generate-mask "SUBC" (list (list Xb1 0.0 Xc2 Yc)) )

7.5 Patterning

The Scheme command for patterning is:

(sdepe:pattern "mask" "mask_name" "polarity" "polarity"
               "type" "etch_type" "material" "material"
               "thickness" thickness "steps" [nstep])

The "polarity" of the mask can be "light" or "dark", for light-field or dark-field masks, respectively. The most common etch "type" is "iso" and "aniso".

The optional parameter "steps" determines in how many steps the layer is deposited. For complex geometries, it may be necessary to use more than one step. (Refer to the Sentaurus Structure Editor User Guide for more options.)

7.5.1 Example

The resist patterning step for the subcollector implant is performed with:

(define Tre 0.5)
(sdepe:pattern "mask" "SUBC" "polarity" "dark" "type" "aniso"
               "material" "Resist"  "thickness" Tre )

Substrate with patterned resist layer

Figure 2. Substrate with the patterned resist layer. (Click image for full-size view.)

7.6 Defining an Implantation Profile

The Scheme command to define an implanted profile is:

(sdepe:doping-gauss "profile_name" "species" 
  lateral_diffusion_length 
  peak_concentration
  peak_depth 
  inside_concentration
  inside-depth)

where the lateral_diffusion_length is given in micrometers, the peak_concentration is given in cm-3, and the peak_depth is given in micrometers and denotes the distance of the Gaussian peak from the exposed surface.

To complete the definition of the Gaussian profile, a second concentration/depth pair is given.

7.6.1 Example

The subcollector implant profile is defined with:

(define LatDiff 0.02)
(sdepe:doping-gauss "SubCol" "PhosphorusActiveConcentration" 
 LatDiff 5e+19 0.0 Nasub 0.5)

7.7 Implantation

The Scheme command to perform an implantation is:

(sdepe:implant)

7.7.1 Example

The subcollector implantation is performed with:

(sdepe:implant "SubCol")

Structure after subcollector implant step

Figure 3. Structure after subcollector implantation step. (Click image for full-size view.)

The sdepe:implant command works as follows: All surfaces not covered with resist are taken as (individual) "reference surfaces" (refer to the Mesh Generation Tools User Guide) for the placements of the analytic doping profile. Furthermore, the doping profile definition is restricted to regions to ensure the correct profiles after possible etch and refill operations. Regions are identified by their region name.

This has some important implications:

The sdepe:implant command supports additional options to mitigate the second problem (refer to the Sentaurus Structure Editor User Guide).

7.8 Stripping Layers

The Scheme command to strip a layer is:

(sdepe:strip-material "material")

7.8.1 Example

To strip the resist after the implantation step, use:

(sdepe:strip-material "Resist")

7.9 Depositing a Doped Layer

The Scheme command to deposit a material layer is:

(sdepe:depo "material" "material" "thickness" thickness
            "type" "depo_type" ["steps" nstep])

The sdepe:depo command supports several options for rounding corners and edges (refer to the Sentaurus Structure Editor User Guide for details). The most common deposit "type" is "iso" and "aniso".

The optional parameter nstep determines in how many steps the layer is deposited. For complex geometries, it may be necessary to use more than one step.

7.9.1 Example

The silicon epi layer is deposited and doped with:

(define Tepi 0.3)
(define Ndepi 5e16)
(define SiEpi (sdepe:depo "material" "Silicon"  "thickness" Tepi "type" "iso"))
(sde:add-material SiEpi "Silicon" "SiEpi")
(sdepe:doping-constant-placement "DopEpi" "ArsenicActiveConcentration" 
  Ndepi "SiEpi")

In this example, the doping concentration is defined by the same steps as in Section 7.1 Overview.

7.10 Etching

The Scheme command for etching is:

(sdepe:etch-material "material" "etch_material" "depth" depth
                     ["steps" nstep])

where "material" is the material to be etched to a depth given by the "depth" parameter (micrometer). Only exposed surfaces are etched.

The optional parameter "steps" determines in how many steps the etching is performed. For complex geometries, it may be necessary to use more than one step. (Refer to the Sentaurus Structure Editor User Guide for more options.)

7.10.1 Example

The isolation trenches for the BJT are created with:

(sdepe:generate-mask "ISO" ; Protection mask
(list (list Xb1 0.0 Xb2 Yc)
      (list Xc1 0.0 Xc2 Yc) ))
(sdepe:pattern "mask" "ISO" "polarity" "light" "type" "aniso"
               "material" "Resist"  "thickness" Tre )
(sdepe:etch-material "material" "Silicon" "depth" Tepi ) ; Trench etching
(sdepe:strip-material "Resist")

Structure after trench isolation

Figure 4. Structure after the trench isolation etching. (Click image for full-size view.)

7.11 Fill

The Scheme command to perform a fill operation is:

(sdepe:fill-device "material" "material" ["height" height])

By default, the sdepe:fill-device command fills the structure with the selected "material" up to the current top z-coordinate. A fill level can be set explicitly with the optional parameter "height". If this parameter is present, the structure is filled up to z=height.

7.11.1 Example

To fill the whole structure with oxide up to a level of 0.1 μm above the current top coordinate, use:

(define Ztop (sde-int:compute-zmax))
(sdepe:fill-device "material" "Oxide" "height" (+ Ztop 0.1) )

The utility function sde-int:compute-zmax returns the current topmost z-coordinate.

7.12 Polish

The Scheme command to perform a polish operation is:

(sdepe:polish-device { ["thickness" thickness] | ["height" height] })

This command emulates chemical-mechanical polishing (CMP) and polishes off either a certain "thickness" from the top of the device (uppermost z-position) or to the specified "height".

7.12.1 Example

(sdepe:polish-device "thickness" 0.1)

Structure after filling isolation trenches with oxide and polishing

Figure 5. Structure after filling isolation trenches with oxide and polishing. (Click image for full-size view.)

7.13 Finishing the BJT

From Section 7.2 to Section 7.12, all major process emulation steps were introduced. In this section, the remaining steps to finalize the bipolar transistor are discussed briefly.

7.13.1 Deposit Screening Oxide

(sdepe:depo "material" "Oxide" "thickness" Tscreen)

However, in process emulation mode, a screening oxide has no effect. Besides adjusting the peak position, the screening oxide is included here to keep the process flow synchronized with a real process flow.

7.13.2 Collector Contact Implantation Mask

(sdepe:generate-mask "COL" (list (list Xc1 0.0 Xc2 Yc)))
(sdepe:pattern "mask" "COL" "polarity" "dark" "type" "aniso"
               "material" "Resist" "thickness" Tre)

Mask definition as discussed in Section 7.4 Mask Generation and patterning as discussed in Section 7.5 Patterning.

7.13.3 Collector Contact Implantation

(sdepe:doping-gauss "ColCont" "ArsenicActiveConcentration" 
 LatDiff 5e+19 0.0 1e+017 0.5)
(sdepe:implant "ColCont")
(sdepe:strip-material "Resist")

Implantation as discussed in Section 7.6 Defining an Implantation Profile and Section 7.7 Implantation.

7.13.4 Base Implantation Mask

(sdepe:generate-mask "BAS" (list (list Xb1 0.0 Xb2 Yc)))
(sdepe:pattern "mask" "BAS" "polarity" "dark" "type" "aniso"
               "material" "Resist" "thickness" Tre)

7.13.5 Base Implantation

(define Tbase 0.2)
(define Nabase 3e18)
(sdepe:doping-gauss "Base" "BoronActiveConcentration" 
 LatDiff Nabase 0.0 Ndepi Tbase)
(sdepe:implant "Base")
(sdepe:strip-material "Resist")

7.13.6 Emitter Implantation Mask

(define Xe1 0.9)
(define Xe2 1.1)
(define Ye  (* 0.7 Yc))
(sdepe:generate-mask "EMIT" (list  (list Xe1 0.0 Xe2 Ye)))
(sdepe:pattern "mask" "EMIT" "polarity" "dark" "type" "aniso"
               "material" "Resist" "thickness" Tre)

7.13.7 Emitter Implantation

(define Temit 0.1)
(sdepe:doping-gauss "Emitter" "PhosphorusActiveConcentration" 
 LatDiff 1e+20 0.0 1.0e18 Temit)
(sdepe:implant "Emitter")
(sdepe:strip-material "Resist")

Structure after three implant steps

Figure 6. Structure after three implant steps. The reference planes for the implantations are green. (Click image for full-size view.)

7.13.8 Emitter and Collector Contact Holes Mask

(define reset 0.05)
(sdepe:generate-mask "PCH" 
 (list (list (+ Xe1 reset) 0.0 (- Xe2 reset) (- Ye reset))
       (list (+ Xc1 reset) 0.0 (- Xc2 reset) (- Yc reset)))) 
(sdepe:pattern "mask" "PCH" "polarity" "dark" "type" "aniso"
               "material" "Resist" "thickness" Tre)

This mask is similar to emitter and collector implant masks, but the openings are smaller.

7.13.9 Etching Emitter and Collector Contact Holes

(sdepe:etch-material "material" "Oxide" "depth" Tscreen)
(sdepe:strip-material "Resist")

Etching as discussed in Section 7.10 Etching.

7.13.10 Deposit Polysilicon

(define Tpoly 0.1)
(define POLYSI (sdepe:depo "material" "PolySi" "thickness" Tpoly))
(sde:add-material POLYSI "PolySi" "Poly")
(sdepe:doping-constant-placement "DopPoly" "ArsenicActiveConcentration" 1e20 
  "Poly")

Deposition of a doped polysilicon layer as discussed in Section 7.9 Depositing a Doped Layer.

7.13.11 Polysilicon Mask

(sdepe:generate-mask "POL"  (list  (list Xc1 0.0 Xc2 Yc) (list Xe1 0.0 Xe2 Ye)))
(sdepe:pattern "mask" "POL"  "polarity" "light" "type" "aniso"
               "material" "Resist" "thickness" Tre)

7.13.12 Etching Polysilicon

(sdepe:etch-material "material" "PolySi" "depth" Tpoly)
(sdepe:strip-material "Resist")

Structure after deposition and etching of polysilicon

Figure 7. Structure after deposition and etching of polysilicon. (Click image for full-size view.)

7.13.13 Fill Structure with Oxide

(define Ztop (+ (sde-int:compute-zmax) 0.05))
(sdepe:fill-device "material" "Oxide" "height" Ztop )

Fill as discussed in Section 7.11 Fill.

7.13.14 Metal Contact Holes Mask

(define Xbc1 (+ Xb1 0.1))
(define Xbc2 (+ Xbc1 0.4))
(sdepe:generate-mask "MET1" 
 (list (list Xc1  0.0 Xc2  Yc)
       (list Xe1  0.0 Xe2  Ye)
       (list Xbc1 0.0 Xbc2 Ye))) 
(sdepe:pattern "mask" "MET1" "polarity" "dark" "type" "aniso"
               "material" "Resist" "thickness" Tre)

7.13.15 Etching Metal Contact Holes

(sdepe:etch-material "material" "Oxide" "depth" (+ Tpoly 0.05))
(sdepe:etch-material "material" "Oxide" "depth" Tscreen)
(sdepe:strip-material "Resist")

Structure after etching metal contact holes

Figure 8. Structure after etching the metal contact holes. (Click image for full-size view.)

7.13.16 Fill Contact Holes

(sdepe:fill-device "material" "Metal")

7.13.17 Contact Definition

(sdegeo:define-contact-set "emitter"   4.0  (color:rgb 1.0 0.0 0.0 ) "==" )
(sdegeo:define-contact-set "base"      4.0  (color:rgb 1.0 0.0 0.0 ) "<><>" )
(sdegeo:define-contact-set "collector" 4.0  (color:rgb 1.0 0.0 0.0 ) "||" )
(sdegeo:define-contact-set "substrate" 4.0  (color:rgb 1.0 0.0 0.0 ) "::" )

As discussed in Section 6.10 Defining Contacts.

7.13.18 Contact Assignments on a Face

(sdegeo:define-contact-set "emitter"   4.0  (color:rgb 1.0 0.0 0.0 ) "==" )
(sdegeo:define-contact-set "base"      4.0  (color:rgb 1.0 0.0 0.0 ) "<><>" )

As discussed in Section 6.11 Setting Contacts at Existing Faces.

7.13.19 Contact Assignments on Boundaries of a Body (Base)

(sdegeo:set-current-contact-set "base")
(define BCID (find-body-id 
  (position (* 0.5 (+ Xbc1 Xbc2)) (* 0.5 Ye) (- Ztop 0.01))))                  
(sdegeo:delete-region BCID )
(sdegeo:set-contact-faces (find-face-id 
  (position (* 0.5 (+ Xbc1 Xbc2)) (* 0.5 Ye) (+ Zsub Tepi))) "base")  

As discussed in Section 2.11 Adding Vertices.

7.13.20 Contact Assignments on Boundaries of a Body (Emitter and Collector)

(sdegeo:set-current-contact-set "emitter")
(define ECID (find-body-id 
  (position (* 0.5 (+ Xe1 Xe2)) (* 0.5 Ye) (- Ztop 0.01))))                  
(sdegeo:delete-region ECID )
(sdegeo:set-contact-faces 
 (find-face-id  (position (* 0.5 (+ Xe1 Xe2)) (* 0.5 Ye) (+ Zsub Tepi Tpoly)))
 "emitter")  

(sdegeo:set-current-contact-set "collector")
(define CCID (find-body-id 
  (position (* 0.5 (+ Xc1 Xc2)) (* 0.5 Yc) (- Ztop 0.01))))                  
(sdegeo:delete-region CCID )
(sdegeo:set-contact-faces (find-face-id  
  (position (* 0.5 (+ Xc1 Xc2)) (* 0.5 Yc) (+ Zsub Tepi Tpoly))) "collector")  

Final structure after assigning contacts

Figure 9. Final structure after assigning contacts. (Click image for full-size view.)

7.13.21 Meshing (Global)

(define Ztop (sde-int:compute-zmax))
(sdedr:define-refinement-window "All_RW" "Cuboid" 
  (position 0 0 0) (position Xmax Ymax Ztop) )
(sdedr:define-refinement-size "All_RD" 
 (/ Xmax  8.0) (/ Ymax  8.0) (/ Ztop 08.0)
 (/ Xmax 16.0) (/ Ymax 16.0) (/ Ztop 16.0))
(sdedr:define-refinement-function "All_RD" 
  "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "All_PL" "All_RD" "All_RW" )

As discussed in Section 6.15 Defining a Meshing Strategy in a Window.

7.13.22 Meshing in Windows

; Top region
(sdedr:define-refinement-window "Top_RW" "Cuboid" 
  (position Xb1 0 1.25) (position Xc2 Yc 2.3))
(sdedr:define-refinement-size "Top_RD" 
 (/ Xmax 16.0) (/ Ymax 16.0) (/ Ztop 16.0)
 (/ Xmax 32.0) (/ Ymax 32.0) (/ Ztop 32.0))
(sdedr:define-refinement-function "Top_RD" 
  "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "Top_PL" "Top_RD" "Top_RW" )

; Base region
(sdedr:define-refinement-window "Base_RW" "Cuboid" 
  (position Xb1 0.0 Zsub) (position Xb2 Yc (+ Zsub Tepi) ))
(sdedr:define-refinement-size "Base_RD" 
 (/ (+ Xb2 Xb1)  8.0) (/ Yc  8.0) (/ Tepi 8.0)
 (/ (+ Xb2 Xb1) 32.0) (/ Yc 32.0) (/ Tepi 32.0))
(sdedr:define-refinement-function "Base_RD" 
  "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "Base_PL" "Base_RD" "Base_RW" )

; Active region
(sdedr:define-refinement-window "Active_RW" "Cuboid" 
  (position 0.85 0.0 2.15) (position 1.15 0.6 2.3 ))
(sdedr:define-refinement-size "Active_RD" 
  0.02 0.08 0.02
  0.01 0.04 0.01)
(sdedr:define-refinement-function "Active_RD" 
  "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "Active_PL" "Active_RD" "Active_RW" )

7.13.23 Meshing in a Material (Polysilicon)

(sdedr:define-refinement-size "Poly_RD" 
 99 99 (/ Tpoly 8.0)
 66 66 (/ Tpoly 9.0)
)
(sdedr:define-refinement-material "Poly_PL" "Poly_RD" "PolySi" ) 

As discussed in Section 4.2 Defining Mesh Strategies in Regions.

7.13.24 Saving the Structure

(sde:save-model "n@node@_BJT_sde")

As discussed in Section 6.17 Saving the Model.

7.13.25 Meshing the Structure

(sde:save-model "n@node@_BJT_sde")

Final structure with doping profiles and mesh

Figure 10. Final structure with doping profiles and mesh. (Click image for full-size view.)

Click to view all the commands discussed in this section in the command file BJT_dvs.cmd.

The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sde/BJT.

7.14 Assignment

Create a Procem emulation flow that generates a 3D FinFET structure as shown.

Step 1. Define the emulation domain and substrate. Step 2. Deposit buried oxide layer.
Defining emulation domain and substrate Depositing buried oxide layer
Step 3. Deposit silicon layer and hard mask (use "Insulator1" as material). Step 4. Pattern polysilicon layer and deposit nitride.
Depositing silicon layer and hard mask Patterning polysilicon layer and depositing nitride
Step 5. Etch nitride and strip polysilicon. Step 6. Etch hard mask and silicon, and strip nitride mask.
Etching nitride and stripping polysilicon Etching hard mask and silicon, and stripping nitride mask
Step 7. Pattern nitride mask and deposit silicon. Step 8. Fill and polish.
Patterning nitride mask and depositing silicon Filling and polishing
Step 9. Strip nitride and deposit gate oxide. Step 10. Deposit nitride (with rounding). Use the rounding options "bledge", "convex", and Tni, where Tni is the thickness of the deposited nitride layer (see Section 7.9 Depositing a Doped Layer).
Stripping nitride and depositing gate oxide Depositing nitride with rounding
Step 11. Etch nitride spacer. Step 12. Deposit (patterned) polysilicon gate.
Etching nitride spacer Depositing (patterned) polysilicon gate
Step 13. Reflect structure.  
Reflecting structure  

To reflect the structure, use:

(sdegeo:reflect (get-body-list) (position 0 0 0)
(gvector 0 -1 0) #t)


where (get-body-list) selects all regions. The plane of reflection is defined by giving a point on the plane (here, the origin (position 0 0 0)) and the normal vector (here, the negative y-axis (gvector 0 -1 0)). The Boolean flag #t selects that the unreflected structure is kept.

Click to view a solution of the command file FinFET_procem_dvs.cmd.

The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sde/FinFET_procem.

main menu    |   module menu    |   << previous section    |   next section >>